package com.xq.jltx.utils;

import android.content.Context;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;

/**
 * @author jltxseo
 *         Created by junlintianxia on 2016/06/01.
 */
public class XqToast {
    /**
     * 控制释放显示Toast
     */
    public static boolean isShow = true;

    /**
     * 显示一个默认位置的短时间的Toast消息
     * @param context
     * @param msg
     */
    public static void showToastShortMsg(Context context, CharSequence msg){
        showToastMsg(context,msg,Toast.LENGTH_SHORT);
    }

    /**
     * 显示一个默认位置的长时间的Toast消息
     * @param context
     * @param msg
     */
    public static void showToastLongMsg(Context context, CharSequence msg){
        showToastMsg(context,msg,Toast.LENGTH_LONG);
    }

    /**
     * 显示一个默认位置的Toast消息
     * @param context
     * @param msg
     * @param duration
     */
    public static void showToastMsg(Context context, CharSequence  msg,int duration){
        if(isShow && context != null){
            //创建一个Toast提示消息
            Toast toast = Toast.makeText(context,msg,duration);
            //设置Toast提示消息在屏幕上的位置
            toast.setGravity(toast.getGravity(),toast.getXOffset(),toast.getYOffset());
            //显示消息
            toast.show();
        }
    }

    /**
     * 显示一个Toast消息
     * @param context
     * @param msg
     * @param duration
     * @param gravity
     */
    public static void showToastMsg(Context context, CharSequence  msg,int duration, int gravity){
        showToastMsg(context,msg,duration,gravity,0,0);
    }


    /**
     * 显示一个Toast消息
     * @param context
     * @param msg
     * @param duration
     * @param gravity
     * @param xOffset
     * @param yOffset
     */
    public static void showToastMsg(Context context, CharSequence  msg,int duration, int gravity,int xOffset,int yOffset){
        if(isShow && context != null){
            //创建一个Toast提示消息
            Toast toast = Toast.makeText(context,msg,duration);
            //设置Toast提示消息在屏幕上的位置
            toast.setGravity(gravity,xOffset,yOffset);
            //显示消息
            toast.show();
        }
    }

    /**
     * 带图片Toast短消息提示
     * @param context
     * @param imgResId
     * @param msg
     */
    public static void showImgToastShortMsg(Context context, int imgResId, CharSequence  msg){
        showImgToastMsg(context,imgResId,msg,Toast.LENGTH_SHORT);
    }

    /**
     * 带图片Toast长消息提示
     * @param context
     * @param imgResId
     * @param msg
     */
    public static void showImgToastLongMsg(Context context, int imgResId, CharSequence  msg){
        showImgToastMsg(context,imgResId,msg,Toast.LENGTH_LONG);
    }

    /**
     * 带图片Toast消息提示
     * @param context
     * @param imgResId
     * @param msg
     * @param duration
     */
    public static void showImgToastMsg(Context context, int imgResId, CharSequence  msg,int duration){
        if(isShow && context != null){
            //创建一个Toast提示消息
            Toast toast = Toast.makeText(context,msg,duration);
            //设置Toast提示消息在屏幕上的位置
            toast.setGravity(toast.getGravity(),toast.getXOffset(),toast.getYOffset());
            //获取Toast提示消息里原有的View
            View toastView = toast.getView();
            //创建一个ImageView
            ImageView img = new ImageView(context);
            img.setImageResource(imgResId);
            //创建一个LineLayout容器
            LinearLayout ll = new LinearLayout(context);
            ll.setOrientation(LinearLayout.HORIZONTAL);
            //向LinearLayout中添加ImageView和Toast原有的View
            ll.addView(img);
            ll.addView(toastView);
            //将LineLayout容器设置为toast的View
            toast.setView(ll);
            //显示消息
            toast.show();
        }
    }

    /**
     * 带图片Toast消息提示
     * @param context
     * @param imgResId
     * @param msg
     * @param duration
     * @param gravity
     */
    public static void showImgToastMsg(Context context, int imgResId, CharSequence  msg,int duration, int gravity){
        showImgToastMsg(context,imgResId,msg,duration,gravity,0,0);
    }

    /**
     * 带图片Toast消息提示
     * @param context
     * @param imgResId
     * @param msg
     * @param duration
     * @param gravity
     * @param xOffset
     * @param yOffset
     */
    public static void showImgToastMsg(Context context, int imgResId, CharSequence  msg,int duration, int gravity,int xOffset,int yOffset){
        if(isShow && context != null){
            //创建一个Toast提示消息
            Toast toast = Toast.makeText(context,msg,duration);
            //设置Toast提示消息在屏幕上的位置
            toast.setGravity(gravity,xOffset,yOffset);
            //获取Toast提示消息里原有的View
            View toastView = toast.getView();
            //创建一个ImageView
            ImageView img = new ImageView(context);
            img.setImageResource(imgResId);
            //创建一个LineLayout容器
            LinearLayout ll = new LinearLayout(context);
            ll.setOrientation(LinearLayout.HORIZONTAL);
            //向LinearLayout中添加ImageView和Toast原有的View
            ll.addView(img);
            ll.addView(toastView);
            //将LineLayout容器设置为toast的View
            toast.setView(ll);
            //显示消息
            toast.show();
        }
    }

}
